# from collections.abc import Generator

# import pytest
# from fastapi.testclient import TestClient
# from sqlmodel import Session, delete

# from app.core.config import settings
# from app.core.db import engine, init_db
# from app.main import app
# from app.models import Item, User
# from app.tests.utils.user import authentication_token_from_email
# from app.tests.utils.utils import get_superuser_token_headers


# @pytest.fixture(scope="session", autouse=True)
# def db() -> Generator[Session, None, None]:
#     with Session(engine) as session:
#         init_db(session)
#         yield session
#         statement = delete(Item)
#         session.execute(statement)
#         statement = delete(User)
#         session.execute(statement)
#         session.commit()


# @pytest.fixture(scope="module")
# def client() -> Generator[TestClient, None, None]:
#     with TestClient(app) as c:
#         yield c


# @pytest.fixture(scope="module")
# def superuser_token_headers(client: TestClient) -> dict[str, str]:
#     return get_superuser_token_headers(client)


# @pytest.fixture(scope="module")
# def normal_user_token_headers(client: TestClient, db: Session) -> dict[str, str]:
#     return authentication_token_from_email(
#         client=client, email=settings.EMAIL_TEST_USER, db=db
#     )
